A consumer's perception of sound produced by consumer electronics devices such as smart phones, tablet computers, desktop and laptop computers have become increasingly important. There is a need to provide the consumer with a rich aural experience, but to do so with often limited means. For example, to help compensate for non-idealities in the conversion of electrical audio signals into sound by a small speaker system such as one used in a multi-function portable device, a digital audio signal processing technique commonly referred to as EQ is used. EQ may be used to make the sound more uniform and therefore more smooth and full, or to improve intelligibility of speech that is present in the audio signal.
To impart EQ upon an audio signal, the signal, being a discrete time sequence, is passed through a digital filter that has a desired frequency response. The digital filter, in many instances, is implemented using an infinite impulse response (IIR) structure. An example of an IIR filter that is useful in digital audio processing is a bi-quad, which is another way of referring to a digital filter that has a bi-quadratic impulse response. A bi-quad (or other IIR filter) is a recursive filter in that each new result at its output depends on a previous result. Therefore, the IIR filter does not lend itself to parallel processing; its functionality cannot be divided into two or more portions that operate simultaneously or in parallel, upon the same input audio signal.
Some digital audio processors have multiple parallel processing units that allow multiple floating-point operations to occur in parallel. To increase the frequency of the process, hardware designers break floating-point operations into several parts so that several independent operations can utilize the same hardware. It is possible to implement two or more independent IIR filters that operate simultaneously (or in parallel). This technique is useful in the case of multi-channel audio where, for example, left channel and right channel audio streams are fed to a pair of IIR filters, respectively, where the filters are running simultaneously such that each channel is being processed in the same time interval as would be needed to process a single (left or right) channel. However, the IIR filtering (which are recursive operations) that is being performed on a single audio channel does not benefit from the available parallel processing capability, because its results are dependent on its previous result. Thus, even if a computing frequency of the floating-point processing is arguably increased, due to a greater number of stages in a given floating-point hardware unit, recursive operations do not see the benefits of it as they simply take more cycles to achieve the same result.